/**
 * 编辑器插件基类
 */
export default class BasePlugin {
    constructor() {
        this.editor = null;
        this.canvas = null;
        this.enabled = true;
    }

    /**
     * 初始化插件
     * @param {EditorCore} editor - 编辑器实例
     */
    init(editor) {
        this.editor = editor;
        this.canvas = editor.canvas;
        this.setupEventListeners();
    }

    /**
     * 设置事件监听
     * 子类应该重写此方法来添加自己的事件监听
     */
    setupEventListeners() {
        // 由子类实现
    }

    /**
     * 启用插件
     */
    enable() {
        this.enabled = true;
    }

    /**
     * 禁用插件
     */
    disable() {
        this.enabled = false;
    }

    /**
     * 销毁插件
     */
    destroy() {
        this.editor = null;
        this.canvas = null;
        this.enabled = false;
    }

    /**
     * 检查插件是否已启用
     */
    isEnabled() {
        return this.enabled;
    }
} 